<template>
  <!-- 全屏按钮容器 -->
  <div class="fullscreen">
    <!-- 全屏按钮 -->
    <i :class="['iconfont', isFullscreen ? 'icon-suoxiao' : 'icon-fangda']" class="toolBar-icon" @click="handleFullScreen"></i>
  </div>
</template>

<script setup>
// 导入 Vue 的核心方法
import { onMounted, ref } from "vue";
// 导入 Element Plus 的消息提示组件
import { ElMessage } from "element-plus";
// 导入 screenfull 库用于检测和控制全屏模式
import screenfull from "screenfull";

// 创建一个响应式变量来跟踪当前是否处于全屏模式
const isFullscreen = ref(screenfull.isFullscreen);

// 在组件挂载完成后执行
onMounted(() => {
  // 监听全屏模式的变化
  screenfull.on("change", () => {
    // 当进入全屏模式时
    if (screenfull.isFullscreen) isFullscreen.value = true;
    // 当退出全屏模式时
    else isFullscreen.value = false;
  });
});

// 处理全屏按钮点击事件
const handleFullScreen = () => {
  // 如果浏览器不支持全屏，则显示警告消息
  if (!screenfull.isEnabled) ElMessage.warning("当前您的浏览器不支持全屏 ❌");
  // 切换全屏模式
  screenfull.toggle();
};
</script>